Шаг 4 - Получения списка LANA

Загрузить проект

Для проверки этого примера, так как у меня один адрес LANA (одна сетевая карта, один протокол NetBEUI) я поменял адрес LANA.

4_1.gif (2192 b)

Для получения списка номеров LANA есть команда NCBENUM. При вызове этой команды в параметр NCB.ncb_buffer необходимо передать структуру LANA_ENUM. Вот как она выглядит.

typedef struct _LANA_ENUM 
{     
	UCHAR length;    
	UCHAR lana[MAX_LANA]; 
} LANA_ENUM; 
Объявим её в программе.
	LANA_ENUM lan_num;
Передадим параметры.
	ncb.ncb_command =  NCBENUM;
	ncb.ncb_buffer = (unsigned char *) &lan_num; 
	ncb.ncb_length = sizeof(lan_num);
Выполнить команду NetBios.
	uRetCode = Netbios((NCB*) &ncb;
Проверить код возврата.
if (uRetCode != 0)
     {
	cout << "error NCBENUM " << endl;
	exit(1);
     }
Перечислить все LANA номера
for (int x=0;x < lan_num.length; x++)
	{
		 printf( "The LANA Number is: %03u",lan_num.lana[x]);
		 cout << endl;
	}
Собирайте и запускайте проект. В результате работы на экране Вы увидите число 123.

Конмадна NCBENUM позволяет получить список чисел LANA.

Hosted by uCoz